package com.ruoyi.behindContract.mapper;

import java.util.List;
import com.ruoyi.behindContract.domain.DocContractQB;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

/**
 * 签约记录表Mapper接口
 * 
 * @author ruoyi
 * @date 2025-08-14
 */
@Mapper
public interface DocContractQBMapper
{
    /**
     * 查询签约记录表
     * 
     * @param contractId 签约记录表主键
     * @return 签约记录表
     */
    public DocContractQB selectDocContractByContractId(Long contractId);

    /**
     * 查询签约记录表列表
     * 
     * @param docContract 签约记录表
     * @return 签约记录表集合
     */
    public List<DocContractQB> selectDocContractList(DocContractQB docContract);

    /**
     * 新增签约记录表
     * 
     * @param docContract 签约记录表
     * @return 结果
     */
    public int insertDocContract(DocContractQB docContract);

    /**
     * 修改签约记录表
     * 
     * @param docContract 签约记录表
     * @return 结果
     */
    public int updateDocContract(DocContractQB docContract);

    /**
     * 删除签约记录表
     * 
     * @param contractId 签约记录表主键
     * @return 结果
     */
    public int deleteDocContractByContractId(Long contractId);

    /**
     * 批量删除签约记录表
     * 
     * @param contractIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteDocContractByContractIds(Long[] contractIds);

    /**
     * 根据用户ID查询签约的团队ID
     * @param userId 用户ID
     * @return 团队ID
     */
    @Select("SELECT team_id FROM doc_contract WHERE user_id = #{userId} LIMIT 1")
    Long selectTeamIdByUserId(Long userId);

}
